// pages/wait/wait.js
const util = require('../../utils/util.js')
Page({
  /**
   * 页面的初始数据
   */
  data: {
    listData: [],
    listthis: [],
    exchangeCode: "",
    showModalStatus: false,
    showModalStatus2: false,
    searchText: "",
    form: {
      _id: "",
      orderid: "",
      receiver: "",
      tel: "",
      address: "",
      cardcode: "",
      status: 0,
      wlcode: "",
      yqtime: "",
      sjtime: "",
      tip: ""
    },
    title2: "",
    pageIndex: 0, //分页参数，代表第几页，从0开始算第一页
    totalpage:0,
  },
  onLoad: function () {
    // Do some initialize when page load.

  },
  // 详情按钮点击事件
  powerDrawer: function (e) {
    var currentStatu = e.currentTarget.dataset.statu;
    var item = e.currentTarget.dataset.item;
    if (item != null) {
      this.setData({
        'form.orderid': item.orderid,
        'form.receiver': item.receiver,
        'form.tel': item.tel,
        'form.address': item.address,
        'form.cardcode': item.cardcode,
        'form.status': item.status,
        'form.yqtime': item.yqtime,
        'form.sjtime': item.sjtime,
        'form.wlcode': item.wlcode,
      });
    }
    this.util(currentStatu);
  },
  wlcodebind: function (e) {
    this.setData({
      'form.wlcode': e.detail.value
    })
  },
  tipbind: function (e) {
    this.setData({
      'form.tip': e.detail.value
    })
  },
  closeWindow: function (e) {
    var currentStatu = e.currentTarget.dataset.statu;
    this.util2(currentStatu);
  },
  // 发货按钮点击事件 
  powerDrawer2: function (e) {
    var item = e.currentTarget.dataset.item;
    if (item != null) {
      if (item.status) {
        this.setData({
          'form.wlcode': item.wlcode,
          'form.receiver': item.receiver,
          'form.tel': item.tel,
          'form.tip': item.tip,
          'form._id': item._id,
          "title2": "发货"
        })
      } else {
        this.setData({
          'form.wlcode': item.wlcode,
          'form.receiver': item.receiver,
          'form.tel': item.tel,
          'form.tip': item.tip,
          'form._id': item._id,
          "title2": "编辑发货信息"
        })
      }
      var currentStatu = e.currentTarget.dataset.statu;
      this.util2(currentStatu);
    }
  },
  util: function (currentStatu) {
    /* 动画部分 */
    // 第1步：创建动画实例   
    var animation = wx.createAnimation({
      duration: 200, //动画时长  
      timingFunction: "linear", //线性  
      delay: 0 //0则不延迟  
    });

    // 第2步：这个动画实例赋给当前的动画实例  
    this.animation = animation;

    // 第3步：执行第一组动画  
    animation.opacity(0).rotateX(-100).step();

    // 第4步：导出动画对象赋给数据对象储存  
    this.setData({
      animationData: animation.export()
    })

    // 第5步：设置定时器到指定时候后，执行第二组动画  
    setTimeout(function () {
      // 执行第二组动画  
      animation.opacity(1).rotateX(0).step();
      // 给数据对象储存的第一组动画，更替为执行完第二组动画的动画对象  
      this.setData({
        animationData: animation
      })

      //关闭  
      if (currentStatu == "close") {
        this.setData({
          showModalStatus: false
        });
      }
    }.bind(this), 200)

    // 显示  
    if (currentStatu == "open") {
      this.setData({
        showModalStatus: true
      });
    }
  },
  util2: function (currentStatu) {
    /* 动画部分 */
    // 第1步：创建动画实例   
    var animation = wx.createAnimation({
      duration: 200, //动画时长  
      timingFunction: "linear", //线性  
      delay: 0 //0则不延迟  
    });

    // 第2步：这个动画实例赋给当前的动画实例  
    this.animation = animation;

    // 第3步：执行第一组动画  
    animation.opacity(0).rotateX(-100).step();

    // 第4步：导出动画对象赋给数据对象储存  
    this.setData({
      animationData: animation.export()
    })

    // 第5步：设置定时器到指定时候后，执行第二组动画  
    setTimeout(function () {
      // 执行第二组动画  
      animation.opacity(1).rotateX(0).step();
      // 给数据对象储存的第一组动画，更替为执行完第二组动画的动画对象  
      this.setData({
        animationData: animation
      })

      //关闭  
      if (currentStatu == "close") {
        this.setData({
          showModalStatus2: false
        });
      }
    }.bind(this), 200)

    // 显示  
    if (currentStatu == "open") {
      this.setData({
        showModalStatus2: true
      });
    }
  },

  //分页方法
  newpage(e) {
    // console.log("点击触发")
    var p = e.currentTarget.dataset.page;
    var newpage = this.data.pageIndex + parseInt(p)
    if (newpage >= 0) {
      const db = wx.cloud.database();
      db.collection('th_orders').where({
        status: 1
      }).skip(newpage * 10).limit(10).get().then(res => { //formData是数据库里面集合的名称
        if (res.data.length > 0) {
          this.getData(newpage)
          this.setData({
            "pageIndex": newpage
          })
        }
      })

    }
  },
  getData(pageIndex) {
    const db = wx.cloud.database();
    db.collection('th_orders').where({
      status: 1
    }).skip(pageIndex * 10).limit(10).get().then(res => { //formData是数据库里面集合的名称

      this.setData({
        listData: res.data
      });
      // console.log(this.data.listData)
    }).catch(err => {
      console.log(err); //如果更新数据失败则输出失败信息
    })

    db.collection("th_orders").where({
      status: 1
    }).count().then(res => {
      this.setData({
        totalpage: Math.ceil(res.total / 10)
      });
      
  });
  },


  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },
  doSearch() {
    const input = this.data.exchangeCode;
    const db = wx.cloud.database();
    const _ = db.command;
    db.collection('th_orders')
      .where(_.or([{
          cardcode: db.RegExp({
            regexp: input,
            option: 'i'
          })
        },
        {
          orderid: db.RegExp({
            regexp: input,
            option: 'i'
          })
        }
      ]).and([{
        status: 1
      }]))
      .get().then(res => {
        this.setData({
          listData: res.data
        });
      }).catch(err => {
        console.log(err); //如果更新数据失败则输出失败信息
      })
  },
  handleInput(e) {
    this.setData({
      exchangeCode: e.detail.value
    })
  },
  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {
    var myDate = this.getmydate();
    //初始化订单数据
    // wx.cloud.callFunction({
    //   name: 'getAllOrders',
    //   complete: res => {
    //     this.setData({
    //       listthis: res.result
    //     });
    //     var that = this;
    //     var datas = [];
    //     for(var i=0;i<that.data.listthis.length;i++){
    //       if(1 == that.data.listthis[i].status){
    //         datas.push(that.data.listthis[i]);
    //       }
    //     }
    //     this.setData({
    //       listData: datas
    //     });
    //   }
    // })
    this.getData(this.data.pageIndex)
  },
  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  },
  //获取sjtime
  getmydate() {
    var date = new Date()
    var month = date.getMonth() + 1;
    if (date.getMonth() + 1 < 10) {
      month = "0" + month;
    }
    return date.getFullYear() + "-" + (month) + "-" + date.getDate();
  },
  commitWindow: function (e) {
    var item = e.currentTarget.dataset.item;
    var data = this.data.form;
    if (data.wlcode == null || data.wlcode == "") {
      wx.showToast({
        title: '物流编号不可为空！', // 标题
        duration: 1500 // 提示窗停留时间，默认1500ms
      })
      return;
    }
    var sjtime = util.formatTime(new Date());
    //提交物流信息
    const db = wx.cloud.database();
    db.collection('th_orders').doc(data._id)
      .update({
        data: {
          wlcode: data.wlcode, //物流编号
          tip: data.tip, //备注
          status: 0, //0表示已经发货了
          sjtime: sjtime //实际发货日期
        }
      }).then(res => {
        var currentStatu = e.currentTarget.dataset.statu;
        this.util2(currentStatu);
        wx.showToast({
          title: '操作成功！', // 标题
          icon: 'success', // 图标类型，默认success
          duration: 1500 // 提示窗停留时间，默认1500ms
        })
        this.onShow();
      }).catch(err => {
        console.log(err);
      })
  },
})